<!DOCTYPE html>
<script src="/js-test-resources/testharness.js"></script>
<script src="/js-test-resources/testharnessreport.js"></script>
<script>
if (window.testRunner) {
  // Testing with "http" scheme than "chrome-extension://" since content_shell
  // doesn't register the extension scheme as a web safe isolated scheme.
  testRunner.setIsolatedWorldInfo(1, 'http://example.com', null);
}

function runTest() {
  const xhr = new XMLHttpRequest();
  xhr.open('GET', 'http://localhost:8000/xmlhttprequest/chromium/resources/access-control-origin-header-in-isolated-world.php');
  xhr.setRequestHeader('X-Custom-Header', 'PASS');
  xhr.onerror = () => {
    postMessage('FAIL: XHR errored', '*');
  };
  xhr.onload = () => {
    postMessage(xhr.responseText, '*');
  };
  xhr.send();
}

async_test(t => {
  addEventListener('message', t.step_func(event => {
    assert_equals(event.data, 'PASS');
    t.done();
  }));
  testRunner.evaluateScriptInIsolatedWorld(1, String(eval('runTest')) + '\nrunTest();');
}, 'The Origin header contains the origin of the isolated world where the script is running');

done();
</script>
